Add to select keyboard layout
authorkasai.takanori@jp.fujitsu.com <kasai.takanori@jp.fujitsu.com>
Thu, 16 Nov 2006 13:13:55 +0000 (13:13 +0000)
committerkasai.takanori@jp.fujitsu.com <kasai.takanori@jp.fujitsu.com>
Thu, 16 Nov 2006 13:13:55 +0000 (13:13 +0000)
Signed-off-by: Takanori Kasai <Kasai.Takanori@jp.fujitsu.com>
tools/python/xen/xend/XendAPI.py
tools/python/xen/xend/XendConfig.py
tools/python/xen/xend/image.py
tools/python/xen/xm/create.py

index c434cb79eb68cb4e72d2ac0a287776324214c794..fba16a812fdfe8c45bd41c24584a7ad4451ca7d7 100644 (file)
@@ -591,6 +591,7 @@ class XendAPI:
                   'platform_localtime',
                   'platform_clock_offset',
                   'platform_enable_audio',
+                  'platform_keymap',
                   'builder',
                   'boot_method',
                   'kernel_kernel',
@@ -638,6 +639,7 @@ class XendAPI:
         'platform_localtime',
         'platform_clock_offset',
         'platform_enable_audio',
+        'platform_keymap',
         'builder',
         'boot_method',
         'kernel_kernel',
@@ -784,6 +786,10 @@ class XendAPI:
         dom = XendDomain.instance().get_vm_by_uuid(vm_ref)
         return xen_api_todo()
     
+    def vm_get_platform_keymap(self, session, vm_ref):
+        dom = XendDomain.instance().get_vm_by_uuid(vm_ref)
+        return xen_api_todo()
+    
     def vm_get_builder(self, session, vm_ref):
         dom = XendDomain.instance().get_vm_by_uuid(vm_ref)
         return xen_api_todo()
@@ -981,6 +987,7 @@ class XendAPI:
             'platform_localtime': xeninfo.get_platform_localtime(),
             'platform_clock_offset': xeninfo.get_platform_clock_offset(),
             'platform_enable_audio': xeninfo.get_platform_enable_audio(),
+            'platform_keymap': xeninfo.get_platform_keymap(),
             'builder': xeninfo.get_builder(),
             'boot_method': xeninfo.get_boot_method(),
             'kernel_kernel': xeninfo.get_kernel_image(),
index da0deb3bb08d2d86cb72371bbf096380d8ce1e2b..93ad4b6598c698493f460f5e0e1a2f220021e05f 100644 (file)
@@ -60,6 +60,7 @@ XENAPI_HVM_CFG = {
     'platform_serial' : 'serial',
     'platform_localtime': 'localtime',
     'platform_enable_audio': 'soundhw',
+    'platform_keymap' : 'keymap',
 }    
 
 XENAPI_UNSUPPORTED_IN_LEGACY_CFG = [
@@ -82,6 +83,7 @@ XENAPI_UNSUPPORTED_IN_LEGACY_CFG = [
     'platform_localtime',
     'platform_clock_offset',
     'platform_enable_audio',
+    'platform_keymap',
     'builder',
     'grub_cmdline',
     'pci_bus',
index 7d2555330b1befb35c1036e567f2dbe2f5126161..e9506f2d104181812b59f68f643064b8b81a11b0 100644 (file)
@@ -309,13 +309,14 @@ class HVMImageHandler(ImageHandler):
     def parseDeviceModelArgs(self, imageConfig, deviceConfig):
         dmargs = [ 'boot', 'fda', 'fdb', 'soundhw',
                    'localtime', 'serial', 'stdvga', 'isa', 'vcpus',
-                   'acpi', 'usb', 'usbdevice']
+                   'acpi', 'usb', 'usbdevice', 'keymap' ]
         ret = []
         for a in dmargs:
             v = sxp.child_value(imageConfig, a)
 
             # python doesn't allow '-' in variable names
             if a == 'stdvga': a = 'std-vga'
+            if a == 'keymap': a = 'k'
 
             # Handle booleans gracefully
             if a in ['localtime', 'std-vga', 'isa', 'usb', 'acpi']:
@@ -385,8 +386,6 @@ class HVMImageHandler(ImageHandler):
             else:
                 ret += ['-vnc', '%d' % vncdisplay]
 
-            ret += ['-k', 'en-us']
-
             vnclisten = sxp.child_value(config, 'vnclisten')
             if not(vnclisten):
                 vnclisten = (xen.xend.XendRoot.instance().
index d94356d5c55e630649b436673564025d94405738..408c06b51da112523d6da949027aebce283311d3 100644 (file)
@@ -387,6 +387,10 @@ gopts.var('localtime', val='no|yes',
           fn=set_bool, default=0,
           use="Is RTC set to localtime?")
 
+gopts.var('keymap', val='FILE',
+          fn=set_value, default='',
+          use="Set keyboard layout used")
+
 gopts.var('usb', val='no|yes',
           fn=set_bool, default=0,
           use="Emulate USB devices?")
@@ -660,7 +664,7 @@ def configure_hvm(config_image, vals):
              'localtime', 'serial', 'stdvga', 'isa', 'nographic', 'soundhw',
              'vnc', 'vncdisplay', 'vncunused', 'vncconsole', 'vnclisten',
              'sdl', 'display', 'xauthority',
-             'acpi', 'usb', 'usbdevice' ]
+             'acpi', 'usb', 'usbdevice', 'keymap' ]
     for a in args:
         if (vals.__dict__[a]):
             config_image.append([a, vals.__dict__[a]])